﻿using System.Drawing;
using FT.Architecture.Example.Core.Entities.Humans;

namespace FT.Architecture.Example.Core.Entities.Cars
{
    public abstract class CarBase : GuidEntity, ICar
    {
        private string brand;
        private int year;
        private Color colour;
        private IHuman owner;
        private string plate;

        /// <summary>
        /// Brand of the car
        /// </summary>
        public virtual string Brand
        {
            get { return brand; }
            set { brand = value; }
        }

        /// <summary>
        /// Year of the car
        /// </summary>
        public virtual int Year
        {
            get { return year; }
            set { year = value; }
        }

        public virtual string Plate
        {
            get { return plate; }
            set { plate = value; }
        }

        /// <summary>
        /// Colour of the car
        /// </summary>
        public virtual Color Colour
        {
            get { return colour; }
            set { colour = value; }
        }

        /// <summary>
        /// Owner of the car
        /// </summary>
        public virtual IHuman Owner
        {
            get { return owner; }
            set { owner = value; }
        }
    }
}
